<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
        window.onload=function()
        {
            //实例化Promise对象
            //实例化Promise对象接受一个参数，这个参数是函数，而且函数中存在两个形参（可以自定义），一般默认定义为resolve和reject
            const p=new Promise(function(resolve,reject){
                setTimeout(function(){
                    /*
                    let data="数据库中的用户数据";
                    //实例对象p有三个状态：初始化，成功和失败
                    resolve(data);//调用resolve后，p的状态会变成失败
                    */
                    let err="数据读取失败";
                    reject(err);
                },1000);
            });
            //当实例对象p成功后，就可以调用promise对象的then方法
            //then方法接受两个参数，而且两个参数都为函数
            //每个函数都存在一个形参，成功的函数的形参默认value，失败的函数的形态默认reason
            //当实例对象p处于成功状态时，就调用第一个函数，当实例对象p处于失败状态时，就调用第二个函数
            p.then(function(value){
                console.log(value);
            },function(reason){
                console.log(reason);
            });
        };
    </script>
</head>
<body>
    
</body>
</html>